{"version":3,"file":"static/chunks/pages/services/[slug]-25bcd8b89c4477c7.js","mappings":"AQACA,CAAAA,KAAK,gBAAmB,CAAGA,KAAK,gBAAmB,EAAI,EAAE,EAAEC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAElE,KACC,SAASC,CAAuB,CAAEC,CAAwB,CAAEC,CAAmB,CAAE,CRDxF,CAAAC,OAAAC,QAAA,CAAAD,OAAAC,QAAA,MAAAL,IAAA,EACA,mBACA,UAAe,CACf,OAAAG,EAAA,KACA,EACA,CAKA,eAAAF,CAAA,CAAAK,CAAA,CAAAH,CAAA,eAAAA,EAAAI,CAAA,CAAAD,EAAA,qBAAAE,CAAA,QAAAC,EAAAN,EAAA,MAAAO,EAAAP,EAAA,MAAAQ,EAAAR,EAAAS,CAAA,CAAAF,GAAAG,EAAAV,EAAA,MAAAW,EAAAX,EAAAS,CAAA,CAAAC,GCZ4FE,EAAA,wECSK,SAA/DP,EAACQ,CAAA,CAAc,CAE/C,IAAMC,eAAAA,CAAc,CAAAC,iBAAAA,EAAM,IAAAF,EACxBG,EAAgB,KAAAf,OACdgB,QAAK,EACLC,IAAA,EACFC,SAAA,QACF,EAED,EACI,MAAiD,GAAAb,EAA/Bc,GAAA,SAAkEC,UACpF,GAAAC,MAAA,KAACC,oBAAA,MAAAD,MAAA,CAAAP,EAAA,gBAAAS,SAAa,GAAAlB,EAAAmB,IAAA,SAAAC,QAAAV,EAAAQ,SAAa,eAGb,GAAAlB,EAAWc,GAAA,EAAAT,IAAA,CAChBgB,IAAIf,EAAAe,GAAA,CACJC,IAAA,oBACAC,OAAOjB,EAAAiB,MAAa,CAAAC,MAAAlB,EAAAkB,KAAA,KAKjC,mBAAAhC,CAAA,CAAAK,CAAA,CAAAH,CAAA,eAAAA,EAAA+B,CAAA,CAAA5B,GAAAH,EAAAI,CAAA,CAAAD,EAAA,2BAAA6B,CAAA,4BAAAC,CAAA,QAAA3B,EAAAN,EAAA,MAAAkC,EAAAlC,EAAA,MAAAmC,EAAAnC,EAAA,MAAAoC,EAAApC,EAAA,MAAAqC,EAAArC,EAAA,MAAAsC,EAAAtC,EAAA,MAAAuC,EAAAvC,EAAA,MC1BoD,eAC7CwC,EAAaC,CAAA,EA6DjB,IAAEC,EAAA,MAAW,GAAAN,EAAAO,CAAA,8CAAAF,EAAA,yYAAAnB,MAAA,CAAAiB,EAAAI,CAAA,uwBAAArB,MAAA,CAAAgB,EAAAM,CAAA,0BAAAtB,MAAA,CAAAe,EAAAQ,EAAA,qBAAAC,UAAE,CAAKL,KAAAA,CAAE,CAExB,GACD,OAAAC,CAAA,KAAAK,EAAA/C,EAAA,MAAAgD,EAAAhD,EAAA,MAAAiD,EAAAjD,EAAA,MAAAkD,EAAAlD,EAAA,MAAAmD,EAAAnD,EAAAS,CAAA,CAAAyC,GAAAE,EAAApD,EAAA,MAAAqD,EAAArD,EAAAS,CAAA,CAAA2C,GAAAE,EAAAtD,EAAA,MAAAuD,EAAAvD,EAAA,MAAAwD,EAAAxD,EAAA,MAAAyD,EAAAzD,EAAA,MAAA0D,EAAA1D,EAAA,KAAA2D,EAAA3D,EAAA,KAAA4D,EAAA5D,EAAA,KCzCsB,SALS6D,EACxBhD,CACN,MAIAiD,EAAeC,EAAAC,EAASC,EAAAC,EAAAC,EAAAC,EAAAC,EANM,GAoCR,CAAAC,OAAAA,CAAA,CAAAC,OAAAA,CAC0B,CAAAC,OAAAA,CAAA,CAKnBC,QAAAA,CAAA,EAAA5D,EAlC7B6D,EAAA,GAAAxC,EAAAyC,SAAA,IAEEC,EAAM,CACNnC,KAAA,CAAO6B,MAAAA,EAAA,OAAAA,EAAA7B,IAAQ,GAAK,GACpBoC,MAAA,CAAQP,MAAAA,EAAA,OAAAA,EAAAO,KAAA,MAAAC,OACN,CACArC,KAAA,WACFoC,MAAA,UACF,CAEA,EACME,EAAAT,MAAAA,EAAoB,OAAAA,EAAAb,MAAA,CAAAuB,IAAQ,IAAOC,kBAAAA,EAAAC,IAAO,CACnC,CAIPC,EAAmBb,MAAAA,EAAA,OAAAA,EAAQb,MAAO,CAAA2B,MAAO,IAAKH,oBAAAA,EAAEC,IAAI,EAAuBD,kBAAAA,EAAAC,IAAA,EAAAD,kCAAAA,EAAAC,IAAA,EAC3EG,EAAgBf,MAAAA,EAAA,OAAAA,EAAQb,MAAO,CAAA2B,MAAO,IAAOH,oBAAAA,EAAAC,IAAI,CAAK,CAE5DI,EACEhB,MAAAA,EAAC,KAAM,EAAAA,EAAAb,MAAA,CAAA2B,MAAA,IAAAH,kCAAAA,EAAAC,IAAA,QAAS,GAAA5E,EAAAc,GAAA,EAAA4B,EAAAuC,CAAA,EAAQhB,OAAQA,EAAQC,OAAAA,EAASC,QAAAA,EAC9CjD,SACS,GAAAlB,EAAUc,GAAA,QAChB,CAAaI,SAAAkD,EAACc,UAAA,IAAAlF,EAAAc,GAAA,EAAA6B,EAAAsC,CAAA,EAAA/D,SAAA,UAEd,MAAAlB,EAAAmB,IAAA,EAAAnB,EAAAmF,QAAA,EAAAjE,SAAA,CACW,CAAW,EAAAlB,EAAAmB,IAAA,aAAcJ,UAAA,IAAAqE,OAAA,CAAAlE,SAAA,CAC3B,GAAAlB,EAAAmB,IAAA,EAAA0B,IAAA,CAAA3B,SAAA,CACK,GAAAlB,EAAAc,GAAA,WAAWI,SAAA8C,MAAAA,EAAA,cAAAR,CAAAA,EAAAQ,EAAAqB,GAAA,GAAA7B,KAAA,IAAAA,EAAA,OAAAA,EAAAe,KAAA,GACR,GAAAvE,EAAAc,GAAA,UAAc8D,KAAA,cAAoBU,QAAAtB,MAAAA,EAAA,cAAAP,CAAAA,EAAAO,EAAAqB,GAAA,GAAA5B,KAAA,IAAAA,EAAA,OAAAA,EAAA8B,QAAA,MAE7B,GAAAvF,EAAAc,GAAA,EAAAwC,EAAA2B,CAAA,EAAAjB,OAAAA,CAAA,GAEhB,GAAAhE,EAAgBc,GAAA,EAAAkC,EAAAiC,CAAA,EAChBX,eAAeA,EACfkB,cAAOxB,MAAAA,EAAA,OAAQ,IAAS,GAATN,CAAAA,EAASM,EAAAwB,aAAA,GAAA9B,KAAA,IAAAA,EAAA,cAAAC,CAAAA,EAAAD,EAAA+B,IAAA,GAAA9B,KAAA,IAAAA,EAAA,OAAAA,EAAA+B,SAAA,CACxBnB,MAAA,CAAAP,MAAAA,EAAY,OAAAA,EAAAO,KAAQ,MAAmBoB,WAAA3B,MAAAA,EAAA,OAAAA,EAAA4B,QAAA,CAAAD,UAAA,GAGvC,CAAW,EAAA3F,EAAAc,GAAA,EAAAmC,EAAAgC,CAAA,EACXR,UAAAA,EACAoB,cAAWhB,EACX9D,UAAA,IAAsB+E,+BAAA,CAAAC,iBAAA,EAEtB,GACC,CAAAhB,GAAcf,CAAAA,MAAAA,EAAA,OAAgC,OAAAJ,CAAAA,EAAAI,EAAA4B,QAAA,GAAAhC,KAAA,IAAAA,EAAA,OAAAA,EAAAoC,eAAA,OAAAhG,EAAAc,GAAA,QAAAC,UAAA,IAAAkF,yBAAA,GAGxClB,GACG,GAAA/E,EAAAc,GAAA,EAAAqC,EAAA8B,CAAA,EACR9B,OAAA4B,EACAhE,UAAS,IAAA+E,+BAAA,CAAAI,UAAA,EAGZ,GACE,CAAAlC,MAAAA,EAAe,WAAiD,GAAjDH,CAAAA,EAAAG,EAAA4B,QAAiD,GAAA/B,KAAA,IAAAA,EAAA,OAAAA,EAAAmC,eAAA,MAAAhG,EAAAc,GAAA,SAAAC,UAC/D,IAAAoF,0CAAU,CAAAjF,SAAA,GAAAlB,EAAAmB,IAAA,EAAAkC,EAAA4B,CAAA,EAAA/D,SAAA,CACD,GAAAlB,EAAAc,GAAA,QAAmBsF,GAAA,mBAA0DrF,UAAE,IAAAsF,wCAAA,CAAAnF,SAAA,qBACjF,CAAW,EAAAlB,EAAAc,GAAA,SAAuDC,UACpE,IAAAuF,gDAAQ,CAAoFpF,SAGhF,CAAA8C,MAAAA,EAAA,cAAAF,CAAAA,EAAAE,EAAA4B,QAAA,GAAA9B,KAAA,IAAAA,EAAA,OAAAA,EAAAkC,eAAA,GAAAhC,CAAAA,MAAAA,EAAA,cAAAD,CAAAA,EAAAC,EAAA4B,QAAA,GAAA7B,KAAA,IAAAA,EAAA,OAAAA,EAAAiC,eAAA,CAAAO,GAAA,EAAAC,EAAAC,IAAA,KAAAC,EAAA,SAAA1G,EAAAc,GAAA,EAAAoC,EAAe+B,CAAA,EACtB0B,MAAO,IAA4B,GAA5BD,CAAAA,EAA4BF,EAAAI,OAAA,CAAApB,aAAA,GAAAkB,KAAA,IAAAA,EAAA,OAAAA,EAAAjB,IAAA,CAAAC,SAAA,CACnCnB,MAAAiC,EAASI,OAAe,CAAArC,KAAQ,CAChCsC,QAAML,EAAeI,OAAQ,CAAAC,OAAI,CAJ5B1E,KAAAqE,EAAAI,OAAA,CAAAzE,IAAA,EAKJsE,EAAA,WAOL,GAAAzG,EAAAc,GAAA,EAAAqC,EAAA8B,CAAA,EACR9B,OAAA6B,EACAjE,UAAS,IAAA+E,+BAAA,CAAAI,UAAA,QAGA,GAAAlG,EAAAc,GAAA,EAAAsC,EAAA6B,CAAA,KAEhB,IAIR,OAAA6B,EAAApH,EAAA,MC3FuE,eAMnDqH,EAAAC,CASA,EAdnB,IAAAC,EAAsBC,EACtB,IAAAC,EAAO,MAAAjF,EAAA8E,EAAA7E,IAAA,QACL,CACAiF,UAAQD,MAAAA,EAAA,OAAAA,EAAAC,SAAA,CAAAnD,OACN,CACAoD,gBAAeF,MAAAA,EAAA,OAAAA,EAAAE,eAAA,CACfC,cAAM,CAAAH,MAAAA,EAAA,OAAS,IAAI,GAAJF,CAAAA,EAAIE,EAAAG,aAAA,GAAAL,KAAA,IAAAA,EAAA,OAAAA,EAAAK,aAAA,QACnBC,KAAAJ,MAAAA,EAAS,OAAAA,EAAAI,IAAS,CACpBC,QAAAL,MAAAA,EAAA,OAAAA,EAAAK,OAAA,EACQtD,OACN,CACAuD,iBAAkB,CAAAN,MAAAA,EAAA,OAAAA,EAASM,gBAAgB,GAAK,CAAC,EACjDC,iBAAA,CAAAP,MAAAA,EAAoB,OAAAA,EAAAO,gBAAS,GAAkB,GAC/CC,mBAAmB,CAAAR,MAAAA,EAAA,OAAAA,EAASQ,kBAAiB,GAAM,GACnDC,kBAAe,CAAAT,MAAAA,EAAA,OAAAA,EAAAS,iBAAA,IAAS,EAC1BN,cAAA,CAAAH,MAAAA,EAAA,cAAAD,CAAAA,EAAAC,EAAAG,aAAA,GAAAJ,KAAA,IAAAA,EAAA,OAAAA,EAAAI,aAAA,QAEJ,EAEe,IAAA5F,EAAS,GAAyD,SAA3CC,EAAapB,CAAE,CAAI,CACvD,IAAMsH,YAAAA,CAAS,CAAA1F,KAAAA,CAAA,EAAA5B,EACT6D,EAAO,GAAAxC,EAAWyC,SAAA,IAClB,CAACjC,EAAA0F,EAAS,IAAWjG,EAAGkG,QAAA,EAAAF,GAE9B,CAAA1D,EAAA6D,EAAgB,IAAAnG,EAAAkG,QAAA,EAAAE,KAAAA,SAegB,CAfhB,GAAApG,EACdqG,SAAW,OACXF,EAAA,GAAAlB,EAA2BqB,EAAA,KAW1BC,gBAVoB,CAAY,IAAEhG,EAAM,MAAA2E,EAAA,CAAK5E,KAAAA,CAE5C,GACEC,GACD0F,EAAA1F,GAGD,IAAA+B,EAAW,SAAA2C,EAAAuB,EAAA,IACbL,EAAA7D,EACA,GACC,GAAMhC,EAET,EACEiC,EAAAc,UAAA,EAAO,CAAA9C,GACR,GAAApC,EAAAc,GAAA,EAAA2B,EAAAwC,CAAA,KAGgB,GAAAjF,EAASc,GAAA,EAAAyC,EAAA,CACtBS,OAAQ5B,EAAKgF,SAAM,CACnBnD,OAAQ7B,EAAK6B,MAAM,CACnBC,OAAA9B,EAAS8B,MAAA,CAAAC,QAAAA,CAGd,EARC,CAQD,gBAAAmE,CAAA,EC3EiBA,EAAAC,OAAA,iFAAAD,CAAA,ECAAA,EAAAC,OAAA,wwBAAA7I,CAAA,EAAAA,EAAA8I,CAAA,oEAAA9I,EAAAA,EAAA+I,CAAA,SAAAC,KAAAhJ,EAAA8I,CAAA","sources":["webpack://_N_E/?e7c3","webpack://_N_E/./public/images/grey-arrow-up.svg","webpack://_N_E/./components/common/back-to-top-row.tsx","webpack://_N_E/./lib/queries/services/getServiceBySlug.ts","webpack://_N_E/./components/page-templates/service-template.tsx","webpack://_N_E/./pages/services/[slug].tsx","webpack://_N_E/./styles/components/common/back-to-top.module.scss","webpack://_N_E/./styles/components/page-templates/services.module.scss","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/services/[slug]\",\n function () {\n return require(\"private-next-pages/services/[slug].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/services/[slug]\"])\n });\n }\n ","export default {\"src\":\"/_next/static/media/grey-arrow-up.0d02386b.svg\",\"height\":5,\"width\":8};","import styles from '../../styles/components/common/back-to-top.module.scss';\nimport type { Attributes } from '../../types/blocks/attributes';\nimport Image from 'next/image';\nimport arrowUp from \"../../public/images/grey-arrow-up.svg\";\ninterface Props {\n\tsidemenu_links?: Array;\n\tincludeContainer?: boolean;\n }\n\nexport default function BackToTop({sidemenu_links, includeContainer = true}: Props): JSX.Element {\n\n const scrollToTop = () => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n };\n\n\treturn (\n\t \t
\n\t \t\t
\n\t \t\t\tBack to top\n\t \t \n \t\t
\n\t \t
\n\t);\n}","import { fetchAPI } from '../../api';\nimport { PAGE_META } from '../../graphql-fragments/pageMeta';\nimport { BLOCKS_FRAGMENT } from '../../graphql-fragments/gutenbergBlocks';\nimport { SEO_SOCIAL_META } from '../../graphql-fragments/seoSocialMeta';\n\nexport async function getServiceBySlug(slug: string) {\n const data = await fetchAPI(\n `query Service {\n serviceBy(uri: \"` +\n slug +\n `\") {\n id\n __typename\n serviceCategories {\n edges {\n node {\n name\n slug\n uri\n }\n }\n }\n excerpt\n content\n date\n featuredImage {\n node {\n sourceUrl\n }\n }\n ${SEO_SOCIAL_META}\n template {\n templateName\n }\n title\n slug\n services {\n subheading\n relatedProducts {\n product {\n ... on ProductsAndTool {\n id\n title\n excerpt\n slug\n featuredImage {\n node {\n sourceUrl\n mediaDetails {\n height\n width\n meta {\n title\n }\n }\n }\n }\n }\n }\n }\n }\n ${BLOCKS_FRAGMENT}\n }\n ${PAGE_META}\n }\n `,\n\n { variables: { slug } }\n );\n return data;\n}\n","import { useRouter } from 'next/router';\nimport Layout from '../layout';\nimport LoadingTitle from '../loading-title';\nimport Head from 'next/head';\nimport type { Service as ServiceType } from '../../types/api';\nimport type { Header } from '../../types/header';\nimport type { Footer } from '../../types/footer';\nimport type { Account } from '../../types/account';\nimport styles from '../../styles/components/page-templates/services.module.scss';\nimport StandardPageHeader from '../page-headers/standard-page-header';\nimport DefaultContentLayout from '../default-content-layout';\nimport RelatedProduct from '../related-product';\nimport Blocks from '../blocks';\nimport BackToTopRow from '../common/back-to-top-row';\nimport Container from '../container';\nimport NextHead from '../nextHead';\n\ninterface Props {\n pageBy?: ServiceType;\n header: Header;\n footer: Footer;\n account?: Account;\n}\n\nexport default function Service({\n pageBy,\n header,\n footer,\n account\n}: Props): JSX.Element {\n const router = useRouter();\n\n //ToDo: is this the best way to setup page details with parent details?\n const pageBreadcrumb = {\n slug: pageBy?.slug || '',\n title: pageBy?.title || '',\n parent: {\n slug: 'services',\n title: 'Services'\n }\n };\n\n const menuBlock = pageBy?.blocks.find(b => b.name === 'acf/page-menu');\n const mainContentBlocks = pageBy?.blocks.filter(b => \n b.name !== 'acf/testimonial' && \n b.name !== 'acf/page-menu' && \n b.name !== 'acf/request-a-callback-button'\n );\n const testimonialBlock = pageBy?.blocks.filter(b => b.name === 'acf/testimonial');\n const callbackBlock = pageBy?.blocks.filter(b => b.name === 'acf/request-a-callback-button');\n\n return (\n \n
\n {router.isFallback ? (\n Loading…\n ) : (\n <>\n
\n \n {pageBy?.seo?.title}\n \n \n \n \n \n {(testimonialBlock || pageBy?.services?.relatedProducts) && (\n
\n )}\n {testimonialBlock && (\n \n )}\n {pageBy?.services?.relatedProducts && (\n
\n \n

Related Products

\n
\n {pageBy?.services?.relatedProducts && pageBy?.services?.relatedProducts.map((relatedProduct, i) => \n )\n }\n
\n
\n
\n )}\n \n
\n \n \n )}\n
\n
\n );\n}\n","import { useRouter } from 'next/router';\nimport { useEffect, useState } from 'react';\nimport { getAllServicesWithSlug } from '../../lib/queries/services/getAllServicesWithSlug';\nimport { getServiceBySlug } from '../../lib/queries/services/getServiceBySlug';\nimport Loader from '../../components/loader';\nimport type { Header } from '../../types/header';\nimport type { Footer } from '../../types/footer';\nimport type { Service } from '../../types/api';\nimport { Menu } from '../../types/menu';\nimport ServiceTemplate from '../../components/page-templates/service-template';\nimport { initAccount, loadAccount } from '../../lib/account';\nimport { Account } from '../../types/account';\nimport { GetStaticPathsResult } from 'next';\n\ninterface Props {\n serviceData: PostData;\n slug: string;\n}\n\ninterface PostData {\n serviceBy?: Service;\n header: Header;\n footer: Footer;\n}\n\nasync function loadService(params: { slug: string }): Promise {\n const service = await getServiceBySlug(params.slug);\n return {\n serviceBy: service?.serviceBy,\n header: {\n generalSettings: service?.generalSettings,\n themeSettings: service?.themeSettings?.themeSettings || null,\n menu: service?.menu,\n topmenu: service?.topmenu\n },\n footer: {\n footerColOneMenu: service?.footerColOneMenu || ({} as Menu),\n footerColTwoMenu: service?.footerColTwoMenu || ({} as Menu),\n footerColThreeMenu: service?.footerColThreeMenu || ({} as Menu),\n footerConnectMenu: service?.footerConnectMenu || ({} as Menu),\n themeSettings: service?.themeSettings?.themeSettings || null,\n },\n };\n}\n\nexport default function ServiceSingle({ serviceData, slug }: Props): JSX.Element {\n const router = useRouter();\n const [data, setData] = useState(serviceData);\n const [account, setAccount] = useState(undefined);\n\n useEffect(() => {\n setAccount(initAccount());\n async function fetchData() {\n const data = await loadService({ slug: slug });\n\n if (data) {\n setData(data);\n }\n\n const account = await loadAccount();\n setAccount(account);\n }\n fetchData();\n }, [slug]);\n\n if (router.isFallback || !data) {\n return ;\n }\n return (\n \n );\n}\n\nexport async function getStaticProps({\n params,\n}: {\n params: { slug: string };\n}): Promise<{ props: Props; revalidate: number, notFound: boolean }> {\n \n const service = await loadService(params);\n\n return {\n props: {\n serviceData: service,\n slug: params.slug,\n },\n revalidate: 30,\n notFound: !service?.serviceBy?.slug,\n };\n}\n\nexport async function getStaticPaths(): Promise<{\n paths: string | Array;\n fallback: GetStaticPathsResult['fallback'];\n}> {\n const allServices = await getAllServicesWithSlug();\n return {\n paths:\n (allServices &&\n allServices.edges &&\n allServices.edges.map(\n ({ node }: { node: { slug: string } }) => `/services/${node.slug}`\n )) ||\n [],\n fallback: 'blocking',\n };\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"back_to_top__wrapper\":\"back-to-top_back_to_top__wrapper__pvAu1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"services__wrapper\":\"services_services__wrapper__7yOt2\",\"services__no_services\":\"services_services__no_services__B9Bao\",\"services__listing_testimonial\":\"services_services__listing_testimonial__Sfa90\",\"service_template__related_products_wrapper\":\"services_service_template__related_products_wrapper__gWkSi\",\"service_template__related_products_title\":\"services_service_template__related_products_title__qZOy0\",\"service_template__related_products_wrapper_inner\":\"services_service_template__related_products_wrapper_inner__X4XiD\",\"service_template__divider\":\"services_service_template__divider__2keF1\",\"service_template__block_padding\":\"services_service_template__block_padding__Ijtko\",\"service_template__main_content_wrapper\":\"services_service_template__main_content_wrapper__VjOwv\"};","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[945],{\n\n/***/ 7173:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/services/[slug]\",\n function () {\n return __webpack_require__(8346);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 407:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ BackToTop; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./styles/components/common/back-to-top.module.scss\nvar back_to_top_module = __webpack_require__(9930);\nvar back_to_top_module_default = /*#__PURE__*/__webpack_require__.n(back_to_top_module);\n// EXTERNAL MODULE: ./node_modules/next/image.js\nvar next_image = __webpack_require__(5675);\nvar image_default = /*#__PURE__*/__webpack_require__.n(next_image);\n;// CONCATENATED MODULE: ./public/images/grey-arrow-up.svg\n/* harmony default export */ var grey_arrow_up = ({\"src\":\"/_next/static/media/grey-arrow-up.0d02386b.svg\",\"height\":5,\"width\":8});\n;// CONCATENATED MODULE: ./components/common/back-to-top-row.tsx\n\n\n\n\nfunction BackToTop(param) {\n let { sidemenu_links , includeContainer =true } = param;\n const scrollToTop = ()=>{\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"\".concat((back_to_top_module_default()).back_to_top__wrapper, \" \").concat(includeContainer ? \"container\" : \"\"),\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n onClick: scrollToTop,\n children: [\n \"Back to top\",\n /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: grey_arrow_up.src,\n alt: \"Back To Top Arrow\",\n height: grey_arrow_up.height,\n width: grey_arrow_up.width\n })\n ]\n })\n });\n}\n\n\n/***/ }),\n\n/***/ 8346:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"__N_SSG\": function() { return /* binding */ __N_SSG; },\n \"default\": function() { return /* binding */ ServiceSingle; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./node_modules/next/router.js\nvar next_router = __webpack_require__(1163);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./lib/api.ts\nvar api = __webpack_require__(1895);\n// EXTERNAL MODULE: ./lib/graphql-fragments/pageMeta.ts\nvar pageMeta = __webpack_require__(3572);\n// EXTERNAL MODULE: ./lib/graphql-fragments/gutenbergBlocks.ts\nvar gutenbergBlocks = __webpack_require__(9337);\n// EXTERNAL MODULE: ./lib/graphql-fragments/seoSocialMeta.ts\nvar seoSocialMeta = __webpack_require__(2867);\n;// CONCATENATED MODULE: ./lib/queries/services/getServiceBySlug.ts\n\n\n\n\nasync function getServiceBySlug(slug) {\n const data = await (0,api/* fetchAPI */.I)('query Service {\\n serviceBy(uri: \"' + slug + '\") {\\n id\\n __typename\\n serviceCategories {\\n edges {\\n node {\\n name\\n slug\\n uri\\n }\\n }\\n }\\n excerpt\\n content\\n date\\n featuredImage {\\n node {\\n sourceUrl\\n }\\n }\\n '.concat(seoSocialMeta/* SEO_SOCIAL_META */.I, \"\\n template {\\n templateName\\n }\\n title\\n slug\\n services {\\n subheading\\n relatedProducts {\\n product {\\n ... on ProductsAndTool {\\n id\\n title\\n excerpt\\n slug\\n featuredImage {\\n node {\\n sourceUrl\\n mediaDetails {\\n height\\n width\\n meta {\\n title\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n \").concat(gutenbergBlocks/* BLOCKS_FRAGMENT */.U, \"\\n }\\n \").concat(pageMeta/* PAGE_META */.um, \"\\n }\\n \"), {\n variables: {\n slug\n }\n });\n return data;\n}\n\n// EXTERNAL MODULE: ./components/loader.tsx + 1 modules\nvar loader = __webpack_require__(4807);\n// EXTERNAL MODULE: ./components/layout.tsx + 17 modules\nvar layout = __webpack_require__(9050);\n// EXTERNAL MODULE: ./components/loading-title.js\nvar loading_title = __webpack_require__(8405);\n// EXTERNAL MODULE: ./node_modules/next/head.js\nvar head = __webpack_require__(9008);\nvar head_default = /*#__PURE__*/__webpack_require__.n(head);\n// EXTERNAL MODULE: ./styles/components/page-templates/services.module.scss\nvar services_module = __webpack_require__(2826);\nvar services_module_default = /*#__PURE__*/__webpack_require__.n(services_module);\n// EXTERNAL MODULE: ./components/page-headers/standard-page-header.tsx\nvar standard_page_header = __webpack_require__(5885);\n// EXTERNAL MODULE: ./components/default-content-layout.tsx\nvar default_content_layout = __webpack_require__(7137);\n// EXTERNAL MODULE: ./components/related-product.tsx\nvar related_product = __webpack_require__(2793);\n// EXTERNAL MODULE: ./components/blocks.tsx + 23 modules\nvar blocks = __webpack_require__(4487);\n// EXTERNAL MODULE: ./components/common/back-to-top-row.tsx + 1 modules\nvar back_to_top_row = __webpack_require__(407);\n// EXTERNAL MODULE: ./components/container.js\nvar container = __webpack_require__(959);\n// EXTERNAL MODULE: ./components/nextHead.tsx\nvar nextHead = __webpack_require__(377);\n;// CONCATENATED MODULE: ./components/page-templates/service-template.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction Service(param) {\n let { pageBy , header , footer , account } = param;\n var _pageBy_seo, _pageBy_seo1, _pageBy_featuredImage, _pageBy_featuredImage_node, _pageBy_services, _pageBy_services1, _pageBy_services2, _pageBy_services3;\n const router = (0,next_router.useRouter)();\n //ToDo: is this the best way to setup page details with parent details?\n const pageBreadcrumb = {\n slug: (pageBy === null || pageBy === void 0 ? void 0 : pageBy.slug) || \"\",\n title: (pageBy === null || pageBy === void 0 ? void 0 : pageBy.title) || \"\",\n parent: {\n slug: \"services\",\n title: \"Services\"\n }\n };\n const menuBlock = pageBy === null || pageBy === void 0 ? void 0 : pageBy.blocks.find((b)=>b.name === \"acf/page-menu\");\n const mainContentBlocks = pageBy === null || pageBy === void 0 ? void 0 : pageBy.blocks.filter((b)=>b.name !== \"acf/testimonial\" && b.name !== \"acf/page-menu\" && b.name !== \"acf/request-a-callback-button\");\n const testimonialBlock = pageBy === null || pageBy === void 0 ? void 0 : pageBy.blocks.filter((b)=>b.name === \"acf/testimonial\");\n const callbackBlock = pageBy === null || pageBy === void 0 ? void 0 : pageBy.blocks.filter((b)=>b.name === \"acf/request-a-callback-button\");\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(layout/* default */.Z, {\n header: header,\n footer: footer,\n account: account,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n children: router.isFallback ? /*#__PURE__*/ (0,jsx_runtime.jsx)(loading_title/* default */.Z, {\n children: \"Loading…\"\n }) : /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"article\", {\n className: (services_module_default()).article,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)((head_default()), {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"title\", {\n children: pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_seo = pageBy.seo) === null || _pageBy_seo === void 0 ? void 0 : _pageBy_seo.title\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"meta\", {\n name: \"description\",\n content: pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_seo1 = pageBy.seo) === null || _pageBy_seo1 === void 0 ? void 0 : _pageBy_seo1.metaDesc\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(nextHead/* default */.Z, {\n pageBy: pageBy\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(standard_page_header/* default */.Z, {\n pageBreadcrumb: pageBreadcrumb,\n featuredImage: pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_featuredImage = pageBy.featuredImage) === null || _pageBy_featuredImage === void 0 ? void 0 : (_pageBy_featuredImage_node = _pageBy_featuredImage.node) === null || _pageBy_featuredImage_node === void 0 ? void 0 : _pageBy_featuredImage_node.sourceUrl,\n title: (pageBy === null || pageBy === void 0 ? void 0 : pageBy.title) || \"\",\n subheading: pageBy === null || pageBy === void 0 ? void 0 : pageBy.services.subheading\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(default_content_layout/* default */.Z, {\n menuBlock: menuBlock,\n contentBlocks: mainContentBlocks,\n className: (services_module_default()).service_template__block_padding,\n hideMenuOnMobile: true\n }),\n (testimonialBlock || (pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_services = pageBy.services) === null || _pageBy_services === void 0 ? void 0 : _pageBy_services.relatedProducts)) && /*#__PURE__*/ (0,jsx_runtime.jsx)(\"hr\", {\n className: (services_module_default()).service_template__divider\n }),\n testimonialBlock && /*#__PURE__*/ (0,jsx_runtime.jsx)(blocks/* default */.Z, {\n blocks: testimonialBlock,\n className: (services_module_default()).service_template__block_padding,\n fullWidth: true\n }),\n (pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_services1 = pageBy.services) === null || _pageBy_services1 === void 0 ? void 0 : _pageBy_services1.relatedProducts) && /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (services_module_default()).service_template__related_products_wrapper,\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(container/* default */.Z, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"h3\", {\n id: \"related-products\",\n className: (services_module_default()).service_template__related_products_title,\n children: \"Related Products\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (services_module_default()).service_template__related_products_wrapper_inner,\n children: (pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_services2 = pageBy.services) === null || _pageBy_services2 === void 0 ? void 0 : _pageBy_services2.relatedProducts) && (pageBy === null || pageBy === void 0 ? void 0 : (_pageBy_services3 = pageBy.services) === null || _pageBy_services3 === void 0 ? void 0 : _pageBy_services3.relatedProducts.map((relatedProduct, i)=>{\n var _relatedProduct_product_featuredImage;\n /*#__PURE__*/ return (0,jsx_runtime.jsx)(related_product/* default */.Z, {\n image: (_relatedProduct_product_featuredImage = relatedProduct.product.featuredImage) === null || _relatedProduct_product_featuredImage === void 0 ? void 0 : _relatedProduct_product_featuredImage.node.sourceUrl,\n title: relatedProduct.product.title,\n excerpt: relatedProduct.product.excerpt,\n slug: relatedProduct.product.slug\n }, i);\n }))\n })\n ]\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(blocks/* default */.Z, {\n blocks: callbackBlock,\n className: (services_module_default()).service_template__block_padding,\n fullWidth: true\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(back_to_top_row/* default */.Z, {})\n ]\n })\n })\n });\n}\n\n// EXTERNAL MODULE: ./lib/account.ts + 4 modules\nvar lib_account = __webpack_require__(3373);\n;// CONCATENATED MODULE: ./pages/services/[slug].tsx\n\n\n\n\n\n\n\nasync function loadService(params) {\n var _service_themeSettings, _service_themeSettings1;\n const service = await getServiceBySlug(params.slug);\n return {\n serviceBy: service === null || service === void 0 ? void 0 : service.serviceBy,\n header: {\n generalSettings: service === null || service === void 0 ? void 0 : service.generalSettings,\n themeSettings: (service === null || service === void 0 ? void 0 : (_service_themeSettings = service.themeSettings) === null || _service_themeSettings === void 0 ? void 0 : _service_themeSettings.themeSettings) || null,\n menu: service === null || service === void 0 ? void 0 : service.menu,\n topmenu: service === null || service === void 0 ? void 0 : service.topmenu\n },\n footer: {\n footerColOneMenu: (service === null || service === void 0 ? void 0 : service.footerColOneMenu) || {},\n footerColTwoMenu: (service === null || service === void 0 ? void 0 : service.footerColTwoMenu) || {},\n footerColThreeMenu: (service === null || service === void 0 ? void 0 : service.footerColThreeMenu) || {},\n footerConnectMenu: (service === null || service === void 0 ? void 0 : service.footerConnectMenu) || {},\n themeSettings: (service === null || service === void 0 ? void 0 : (_service_themeSettings1 = service.themeSettings) === null || _service_themeSettings1 === void 0 ? void 0 : _service_themeSettings1.themeSettings) || null\n }\n };\n}\nvar __N_SSG = true;\nfunction ServiceSingle(param) {\n let { serviceData , slug } = param;\n const router = (0,next_router.useRouter)();\n const [data, setData] = (0,react.useState)(serviceData);\n const [account, setAccount] = (0,react.useState)(undefined);\n (0,react.useEffect)(()=>{\n setAccount((0,lib_account/* initAccount */.Br)());\n async function fetchData() {\n const data = await loadService({\n slug: slug\n });\n if (data) {\n setData(data);\n }\n const account = await (0,lib_account/* loadAccount */.Mx)();\n setAccount(account);\n }\n fetchData();\n }, [\n slug\n ]);\n if (router.isFallback || !data) {\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(loader/* default */.Z, {});\n }\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Service, {\n pageBy: data.serviceBy,\n header: data.header,\n footer: data.footer,\n account: account\n });\n}\n\n\n/***/ }),\n\n/***/ 9930:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"back_to_top__wrapper\":\"back-to-top_back_to_top__wrapper__pvAu1\"};\n\n/***/ }),\n\n/***/ 2826:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"services__wrapper\":\"services_services__wrapper__7yOt2\",\"services__no_services\":\"services_services__no_services__B9Bao\",\"services__listing_testimonial\":\"services_services__listing_testimonial__Sfa90\",\"service_template__related_products_wrapper\":\"services_service_template__related_products_wrapper__gWkSi\",\"service_template__related_products_title\":\"services_service_template__related_products_title__qZOy0\",\"service_template__related_products_wrapper_inner\":\"services_service_template__related_products_wrapper_inner__X4XiD\",\"service_template__divider\":\"services_service_template__divider__2keF1\",\"service_template__block_padding\":\"services_service_template__block_padding__Ijtko\",\"service_template__main_content_wrapper\":\"services_service_template__main_content_wrapper__VjOwv\"};\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [757,477,34,259,426,58,844,95,646,774,888,179], function() { return __webpack_exec__(7173); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","d","BackToTop","jsx_runtime","back_to_top_module","back_to_top_module_default","n","next_image","image_default","grey_arrow_up","param","sidemenu_links","includeContainer","scrollToTop","scrollTo","top","behavior","jsx","className","concat","back_to_top__wrapper","children","jsxs","onClick","src","alt","height","width","r","__N_SSG","ServiceSingle","next_router","react","api","pageMeta","gutenbergBlocks","seoSocialMeta","getServiceBySlug","slug","data","I","U","um","variables","loader","layout","loading_title","head","head_default","services_module","services_module_default","standard_page_header","default_content_layout","related_product","blocks","back_to_top_row","container","nextHead","Service","_pageBy_seo","_pageBy_seo1","_pageBy_featuredImage","_pageBy_featuredImage_node","_pageBy_services","_pageBy_services1","_pageBy_services2","_pageBy_services3","pageBy","header","footer","account","router","useRouter","pageBreadcrumb","title","parent","menuBlock","find","b","name","mainContentBlocks","filter","testimonialBlock","callbackBlock","Z","isFallback","Fragment","article","seo","content","metaDesc","featuredImage","node","sourceUrl","subheading","services","contentBlocks","service_template__block_padding","hideMenuOnMobile","relatedProducts","service_template__divider","fullWidth","service_template__related_products_wrapper","id","service_template__related_products_title","service_template__related_products_wrapper_inner","map","relatedProduct","i","_relatedProduct_product_featuredImage","image","product","excerpt","lib_account","loadService","params","_service_themeSettings","_service_themeSettings1","service","serviceBy","generalSettings","themeSettings","menu","topmenu","footerColOneMenu","footerColTwoMenu","footerColThreeMenu","footerConnectMenu","serviceData","setData","useState","setAccount","undefined","useEffect","Br","fetchData","Mx","module","exports","O","s","_N_E"],"sourceRoot":""}